package com.qding.park.common.utils;

import java.util.Date;

/**
 * @ClassName: OrderNumUtil
 * @Description: TODO(订单号工具)
 * @author Administrator
 * @date 2016年9月13日
 *
 */
public class OrderNumUtil {

	public static String getOrderNum(int userId, String tag) {

		Date now = new Date();

		// String timeStr=DateUtils.formatDate(now, "yyMMddHHmmssSSS");
		String timeStr = String.valueOf(now.getTime());

		String userStr = String.format("%07d", userId);

		// 前缀随机
		// String afterstrTag=UUIDUitl.generateInteger(3);
		// String beforstrTag=UUIDUitl.generateInteger(3);

		return tag + userStr + timeStr;
	}

	/**
	 * 左补位，右对齐
	 * 
	 * @param oriStr
	 *            原字符串
	 * @param len
	 *            目标字符串长度
	 * @param alexin
	 *            补位字符
	 * @return 目标字符串
	 */
	public static String padLeft(String oriStr, int len, char alexin) {
		int strlen = oriStr.length();
		String str="";
		if (strlen < len) {
			for (int i = 0; i < len - strlen; i++) {
				str = str + alexin;
			}
		}
		str = oriStr + str;
		return str;
	}
	
	/**
	  * 右补位，左对齐
	  * @param oriStr  原字符串
	  * @param len  目标字符串长度
	  * @param alexin  补位字符
	  * @return  目标字符串
	  */
	 public static String padRight(String oriStr,int len,char alexin){
	  int strlen = oriStr.length();
	  String str="";
	  if(strlen < len){
	   for(int i=0;i<len-strlen;i++){
	    str = str+alexin;
	   }
	  }
	  str = str + oriStr;
	  return str;
	 }
	  

	public static String getOrderNum(String userId, String tag) {

		Date now = new Date();

		String timeStr = String.valueOf(now.getTime());

//		String userStr = String.format("%7s", userId);
		String userStr=padRight(userId,7,'0');

		// 前缀随机

		return tag + userStr + timeStr;
	}

	public static void main(String[] args) {
		for (int i = 0; i < 100000; i++) {
			System.out.println(getOrderNum("ssddddddddss", "M"));
		}

	}
}
